package com.tedu.day02.oop;

/**
 * 继承产生的问题：【方法】
 * 重写：什么情况用重写？------覆盖
 * 重载：什么情况用重载-------拓展【增加功能：根据不同的需要找到对应的方法】
 * 重载定义规则：继承关系---方法：修饰符    返回值    方法名（参数并不一致）
 */

class Noodles {
    protected void box() {
        System.out.println("方便面");
    }
}
class Packing extends Noodles {
//修饰符  返回值  方法名【一样】  |  参数不一致
     void box(String str) {
        System.out.println("传统工艺：老坛酸菜面");
    }
     void box(int i) {
        System.out.println("国资工艺：康师傅牛肉面");
    }
}




public class 继承问题3 {
    public static void main(String[] args) {
        //测试：重载--修饰符  返回值  方法名一致     参数不一致  根据参数调方法
        Packing p=new Packing();
        p.box();//没有重写：修饰符  返回值  方法名  参数完全一致
        p.box("老坛");//重载：修饰符  返回值  方法一致  参数不一致
        p.box(1);     //重载：修饰符  返回值  方法一致  参数不一致
        //思考：重写 存在修饰符访问权限问题
        //重载  修饰符  权限控制【父类大于子类】
    }
}
